package validarEmail;

import java.io.*;

public class Practica01_ValidarEmail {

    static String mailString;
    static boolean estaArroba = false;
    static boolean estaPunto = false;
    static boolean arrobaOk = false;
    static boolean ISPOK = false;

    public static void main (String[] args) throws IOException{
        BufferedReader lectura = new BufferedReader(new InputStreamReader(System.in));
        System.out.println("Ingrese el email:");
        mailString = lectura.readLine();
        comprobarLongitud(mailString);
        comprobarArrobaPunto(mailString);
        posArroba(mailString);
        comprobarDominio(mailString);
    }

    static void comprobarLongitud(String mail){
        //System.out.println("La cadena mide: " + mailString.length());
        if(mailString.length()>=12) {
            System.out.println("CORRECTO. Longitud de la cadena mail: " + mailString.length());
        }else{
            System.out.println("INCORRECTO. El mail debe tener al menos 12 caracteres");
        }
    }

    static void comprobarArrobaPunto(String mail){
        for (int i = 0; i < mail.length(); i++) {
            if((mail.charAt(i) == '@')){
            estaArroba = true;
            }else if(mail.charAt(i) == '.'){
            estaPunto = true;
            }
        }
        if(estaArroba && estaPunto){
            System.out.println("CORRECTO. Existe '@' y '.' ");
        }else{
            System.out.println("INCORRECTO. El mail debe contener '@' y '.'");
        }
    }

    static void posArroba(String mail){
        for (int i = 0; i < mail.length(); i++) {
            if(mail.charAt(i)=='@' && i>=5){
                arrobaOk = true;
            }
        }
        if(arrobaOk){
                System.out.println("CORRECTO. La arroba está bien colocada");
            }else{
                System.out.println("INCORRECTO. La arroba está mal colocada");
            }
        }

    static void comprobarDominio(String mail){
        for (int i = 0; i < mail.length(); i++) {


            if(mail.charAt(i) == '@'){
                String ISP = mail.substring(i);
                if(ISP.contains(".com") || ISP.contains(".es") || ISP.contains(".net")){
                    ISPOK = true;
                }
                if(ISPOK){
                    System.out.println("CORRECTO. El dominio es correcto");
                }else{
                    System.out.println("INCORRECTO. El dominio debe ser .com o .es o .net");
                }
            }
        }
    }
}